﻿using Common.Contract.Authentication.Record;
using Common.Contract.SystemConfig.Record;
using CrossSelling.Model.Model;
using System.Collections.Generic;

namespace CrossSelling.Model.Interface
{
    public interface ICrossSellingProductProvider
    {
        List<CrossSellingProduct> RetrieveListProductCrossSelling();
        List<ProductSMEByProductHolding> RetrieveListHoldProductCrossSelling();
        List<CrossSellingCustomer> RetrieveCrossSellingByCif(string cif);
        List<CustUsedProductInPast> RetrieveCustUsedProductInPastByCif(string cif);
        List<CrossSellingCustomer> RetrieveListCustomerXselling(out int totalRecord, int product, UserRecord dao, FilterRecord textSearch = null, string lang = null, int pagesize = 0, int pageindex = 0);
        List<CustUsedProductInPast> RetrieveListCustomerHoldProduct(out int totalRecord, UserRecord dao, string product, FilterRecord textSearch = null, string lang = null, int pagesize = 0, int pageindex = 0);
        List<PreApprovedCreditCard87> RetrieveListCustPreApprovedCreditCard(out int totalRecord, UserRecord dao, FilterRecord textSearch = null, string lang = null, int pagesize = 0, int pageindex = 0);
        List<PreApprovedCreditCard21> RetrieveListCustPreApprovedCreditCardForLoan(out int totalRecord, UserRecord dao,int type, FilterRecord textSearch = null, string lang = null, int pagesize = 0, int pageindex = 0);
        List<PreApprovedBilNew> RetrieveListCustPreApprovedBil(out int totalRecord, UserRecord dao, FilterRecord textSearch = null, string lang = null, int pagesize = 0, int pageindex = 0);
        List<PreApprovedWC> RetrieveListCustPreApprovedWC(out int totalRecord, UserRecord dao, FilterRecord textSearch = null, string lang = null, int pagesize = 0, int pageindex = 0);
        List<RateLimit> RetrieveListCustRateLimit(out int totalRecord, UserRecord dao, FilterRecord textSearch = null, string lang = null, int pagesize = 0, int pageindex = 0);
    }
}
